package gestiones;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
import conectores.Conexion;
import clases.Direccion;
import clases.ViviendaTerreno;
public class GestionViviendaTerreno {
	
	public boolean ingresarViviendaTerreno(ViviendaTerreno vivTer) {
		Conexion conexion = new Conexion();
		Connection con = null;
        CallableStatement cs = null;
        boolean resultado = false;

      
        try {
        	conexion.estableceConexion();
			con=conexion.getConexion();		
			con.setAutoCommit(false);
			if (vivTer != null){
				
					String query = "{? = call censo_comunal.insertar_vivienda_terreno(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}";
					cs = con.prepareCall(query);
					cs.registerOutParameter(1, Types.BOOLEAN);
					cs.setString(2,vivTer.getViter_tipo_casa());
					cs.setString(3,vivTer.getViter_tipo_uso());
					cs.setString(4,vivTer.getViter_tipo_techo());
					cs.setInt(5,vivTer.getViter_num_garaje());
					cs.setString(6,vivTer.getViter_mts2_construccion());
					cs.setString(7,vivTer.getViter_mts2_terreno());
					cs.setString(8,vivTer.getViter_entorno_fisico());
					cs.setString(9,vivTer.getViter_tenencia_terreno());
					cs.setString(10,vivTer.getViter_materiales_const());
					cs.setString(11,vivTer.getViter_tipo_documento());
					cs.setString(12,vivTer.getViter_cond_ocupante());
					cs.setInt(13,vivTer.getViter_cant_personas());
					cs.setInt(14,vivTer.getViter_num_bano());
					cs.setString(15,vivTer.getViter_acceso());
					cs.setInt(16,vivTer.getViter_num_cocina());
					cs.setInt(17,vivTer.getViter_num_lavandero());
					cs.setInt(18,vivTer.getViter_ano_ocupacion());
					cs.setInt(19,vivTer.getViter_num_sala());
					cs.setInt(20,vivTer.getViter_num_salcom());
					cs.setInt(21,vivTer.getViter_num_comedor());
					cs.setInt(22,vivTer.getViter_num_planta());
					cs.setInt(23,vivTer.getViter_num_dormitorio());
					cs.setInt(24,vivTer.getViter_ano_contruccion());
					cs.setString(25,vivTer.getViter_tenencia_vivienda());
					cs.setInt(26,vivTer.getFam_idFamilia());
					
					
					
					cs.execute();
					resultado = cs.getBoolean(1);
					
					if(	resultado){
			              con.commit();
			             con.setAutoCommit(true);
			           }
									
						
					}	
        }catch(Exception ex){
        	 ex.getMessage();
        	        }finally{
        	           try{
        	               if (cs != null)  cs.close();
        	               if (con != null) con.close();
        	           }catch(SQLException esql){
        	                esql.getMessage();
        	           }
        	        }
        	        return resultado;
	}
	
	public boolean validarViviendaTerreno(int viter_id){
		
		Conexion conexion = new Conexion();
		Connection con = null;
        CallableStatement cs = null;
        boolean resultado = false;
             
        try {
        	conexion.estableceConexion();
			con=conexion.getConexion();
			
			con.setAutoCommit(false);
			if (viter_id != 0){
				
			String query = "{? = call censo_comunal.validar_vivienda_terreno(?)}";
			cs = con.prepareCall(query);
			cs.registerOutParameter(1, Types.BOOLEAN);
			cs.setInt(2,viter_id);
			cs.execute();
			resultado = cs.getBoolean(1);
			
			if(	resultado){
	              con.commit();
	             con.setAutoCommit(true);
	           }
						
	}	
				
        }catch(Exception ex){
        	 ex.getMessage();
        	        }finally{
        	           try{
        	               if (cs != null)  cs.close();
        	               if (con != null) con.close();
        	           }catch(SQLException esql){
        	                esql.getMessage();
        	           }
        	        }
        	        return resultado;
	}
	
	public boolean ingresarDireccion(Direccion dirVivienda) {
		Conexion conexion = new Conexion();
		Connection con = null;
        CallableStatement cs = null;
        boolean resultado = false;
     
      
        try {
        	conexion.estableceConexion();
			con=conexion.getConexion();
			
			con.setAutoCommit(false);
			if (dirVivienda != null){
			String query = "{? = call censo_comunal.insertar_dir_vivienda(?,?,?,?,?,?,?,?)}";
			cs = con.prepareCall(query);
			cs.registerOutParameter(1, Types.BOOLEAN);
			cs.setString(2,dirVivienda.getZona());
			cs.setString(3,dirVivienda.getBarrio());
			cs.setString(4,dirVivienda.getSector());
			cs.setString(5,dirVivienda.getCalle());
			cs.setString(6,dirVivienda.getCallejon());
			cs.setString(7,dirVivienda.getCamineria());
			cs.setInt(8,dirVivienda.getNroCasa());
			cs.setInt(9,dirVivienda.getNroPoste());
						
			cs.execute();
			resultado = cs.getBoolean(1);
			
			if(	resultado){
	              con.commit();
	             con.setAutoCommit(true);
	           }
							
				
			}	
        }catch(Exception ex){
        	 ex.getMessage();
        	        }finally{
        	           try{
        	               if (cs != null)  cs.close();
        	               if (con != null) con.close();
        	           }catch(SQLException esql){
        	                esql.getMessage();
        	           }
        	        }
        	        return resultado;
	}
}

